function Item(type, background) {
    this.type = type; //此方块的类型，类型一致的才可以连线
    // this.state = true; //方块是否可用。 false表示已消除,亦可以认为是空的
    this.background = background;//背景色透明或背景图

    /**
     * 点击选中
     * @param {*} e event
     * @param {*} selected 保存选中元素的数组
     * @param {*} element 选中项的DOM
     * @param {*} callback 回调
     */
    this.click = function(e, arr, element, callback) {
        var selected = element.getAttribute('selected');

        if (selected === null) {
            selected = false;
            element.setAttribute('selected', selected);
        } else {
            selected = selected === 'true'
        }

        if (!selected) {
            element.style.border = '3px solid red';
            element.setAttribute('selected', true);
            arr.push(element);
            callback();
            return;
        }

        arr.forEach(item => {
            if (item === element) {
                arr.pop();
                callback();
            }
        });

        element.style.border = '';
        element.setAttribute('selected', false);
    }
}
// Item.prototype.remove = function() {
//     this.state = false;
//     this.background = 'transparent';
// }

// Item.remove = function(item) {
//     htmlNode.style.background = 'transparent';
//     htmlNode.style.border = '';
// };

/**
 * 取消选中样式
 * @param {*} htmlNode square对应的htmlNode
 */
Item.cancel = function(htmlNode) {
    htmlNode.style.border = '';
    htmlNode.setAttribute('selected', false);
};